package collection;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/*
subList()方法演示
 */
public class SubListDemo {
    public static void main(String[] args) {
        //List提供了获取子集的操作
        //List subList(int start,int end);
        List<Integer> list=new LinkedList<>();
        for (int i = 0; i < 10; i++) {
            list.add(i*10);
        }
        System.out.println(list);
        List<Integer> sublist=list.subList(3,8);
        System.out.println(sublist);

        //将子集每个元素扩大十倍
        for (int i = 0; i < sublist.size(); i++) {
            sublist.set(i,sublist.get(i)*10);
        }
        System.out.println(sublist);
        //对子集的操作就是对原集合对应元素的操作
        System.out.println(list);
        //将元集合下标为3的元素修改为1000
        list.set(3,1000);
        //原集合数据改变后，子集数据跟着变了
        System.out.println(sublist);

        list.remove(0);
        System.out.println(list);
        //原集合长度修改后，子集将不能再进行任何操作，操作则发生异常，但是可以重新获取子集
        System.out.println(sublist);//运行时发生不支持修改异常

    }
}
